
// RungeKutta21.cpp: implementation of the RungeKutta2 class.
//
//////////////////////////////////////////////////////////////////////

#include "RungeKutta21.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

RungeKutta2::RungeKutta2(ptoF paso,Funcion *f,ptoF u0){
	this->ultimoValor=u0;
	this->paso=paso;
	this->funcion=f;
	this->t=0;
}

RungeKutta2::~RungeKutta2()
{

}

ptoF RungeKutta2::iterar()
{
	ptoF q1=(this->paso)*(this->funcion->evaluar(this->ultimoValor,t));
	t+=this->paso;
	ptoF q2=(this->paso)*(this->funcion->evaluar(this->ultimoValor+q1,t));
	q1=this->ultimoValor+((q1+q2)/2);
	this->ultimoValor=q1;
	return q1;
}
